/**
 * 给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ，并返回其长度。如果不存在符合条件的子数组，返回 0 。

作者：LeetCode
链接：https://leetcode.cn/leetbook/read/all-about-array/x9gogt/
来源：力扣（LeetCode）
 * @param {number} target
 * @param {number[]} nums
 * @return {number}
 */
var minSubArrayLen = function (target, nums) {
  const len = nums.length;
  let left = 0;
  let right = 0;
  let sum = 0;
  let minLen = len + 1;
  while (right < len) {
    sum += nums[right];
    while (sum >= target) {
      minLen = Math.min(minLen, right - left + 1);
      sum -= nums[left];
      left++;
    }
    right++;
  }
  return minLen > len ? 0 : minLen;
};

const target = 7,
  nums = [2, 3, 1, 2, 4, 3];
const res = minSubArrayLen(target, nums);
console.log(res);
